28. ICE Poll Mode Driver

您所在的位置:网站首页 intel ice 28. ICE Poll Mode Driver

28. ICE Poll Mode Driver

2024-07-08 23:30| 来源: 网络整理| 查看: 265

Safe Mode Support (default 0)

If driver failed to load OS package, by default driver’s initialization failed. But if user intend to use the device without OS package, user can take devargs parameter safe-mode-support, for example:

-a 80:00.0,safe-mode-support=1

Then the driver will be initialized successfully and the device will enter Safe Mode. NOTE: In Safe mode, only very limited features are available, features like RSS, checksum, fdir, tunneling … are all disabled.

Default MAC Disable (default 0)

Disable the default MAC make the device drop all packets by default, only packets hit on filter rules will pass.

Default MAC can be disabled by setting the devargs parameter default-mac-disable, for example:

-a 80:00.0,default-mac-disable=1

Protocol extraction for per queue

Configure the RX queues to do protocol extraction into mbuf for protocol handling acceleration, like checking the TCP SYN packets quickly.

The argument format is:

18:00.0,proto_xtr=[...],field_offs=, \ field_name= 18:00.0,proto_xtr=,field_offs=,field_name=

Queues are grouped by ( and ) within the group. The - character is used as a range separator and , is used as a single number separator. The grouping () can be omitted for single element group. If no queues are specified, PMD will use this protocol extraction type for all queues. field_offs is the offset of mbuf dynamic field for protocol extraction data. field_name is the name of mbuf dynamic field for protocol extraction data. field_offs and field_name will be checked whether it is valid. If invalid, an error print will be returned: Invalid field offset or name, no match dynfield, and the proto_ext function will not be enabled.

Protocol is : vlan, ipv4, ipv6, ipv6_flow, tcp, ip_offset.

dpdk-testpmd -c 0xff -- -i port stop 0 port detach 0 port attach 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]',field_offs=92,field_name=pmd_dyn

This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are VLAN extraction, other queues run with no protocol extraction. The offset of mbuf dynamic field is 92 for all queues with protocol extraction.

dpdk-testpmd -c 0xff -- -i port stop 0 port detach 0 port attach 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]', \ field_offs=92,field_name=pmd_dyn

This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are IPv6 extraction, other queues use the default VLAN extraction. The offset of mbuf dynamic field is 92 for all queues with protocol extraction.

The extraction metadata is copied into the registered dynamic mbuf field, and the related dynamic mbuf flags is set.

Table 28.2 Protocol extraction : vlan VLAN2 VLAN1 PCP D VID PCP D VID

VLAN1 - single or EVLAN (first for QinQ).

VLAN2 - C-VLAN (second for QinQ).

Table 28.3 Protocol extraction : ipv4 IPHDR2 IPHDR1 Ver Hdr Len ToS TTL Protocol

IPHDR1 - IPv4 header word 4, “TTL” and “Protocol” fields.

IPHDR2 - IPv4 header word 0, “Ver”, “Hdr Len” and “Type of Service” fields.

Table 28.4 Protocol extraction : ipv6 IPHDR2 IPHDR1 Ver Traffic class Flow Next Header Hop Limit

IPHDR1 - IPv6 header word 3, “Next Header” and “Hop Limit” fields.

IPHDR2 - IPv6 header word 0, “Ver”, “Traffic class” and high 4 bits of “Flow Label” fields.

Table 28.5 Protocol extraction : ipv6_flow IPHDR2 IPHDR1 Ver Traffic class Flow Label

IPHDR1 - IPv6 header word 1, 16 low bits of the “Flow Label” field.

IPHDR2 - IPv6 header word 0, “Ver”, “Traffic class” and high 4 bits of “Flow Label” fields.

Table 28.6 Protocol extraction : tcp TCPHDR2 TCPHDR1 Reserved Offset RSV Flags

TCPHDR1 - TCP header word 6, “Data Offset” and “Flags” fields.

TCPHDR2 - Reserved

Table 28.7 Protocol extraction : ip_offset IPHDR2 IPHDR1 IPv6 HDR Offset IPv4 HDR Offset

IPHDR1 - Outer/Single IPv4 Header offset.

IPHDR2 - Outer/Single IPv6 Header offset.

Hardware debug mask log support (default 0)

User can enable the related hardware debug mask such as ICE_DBG_NVM:

-a 0000:88:00.0,hw_debug_mask=0x80 --log-level=pmd.net.ice.driver:8

These ICE_DBG_XXX are defined in drivers/net/ice/base/ice_type.h.

1PPS out support

The E810 supports four single-ended GPIO signals (SDP[20:23]). The 1PPS signal outputs via SDP[20:23]. User can select GPIO pin index flexibly. Pin index 0 means SDP20, 1 means SDP21 and so on. For example:

-a af:00.0,pps_out='[pin:0]'

Low Rx latency (default 0)

vRAN workloads require low latency DPDK interface for the front haul interface connection to Radio. By specifying 1 for parameter rx_low_latency, each completed Rx descriptor can be written immediately to host memory and the Rx interrupt latency can be reduced to 2us:

-a 0000:88:00.0,rx_low_latency=1

As a trade-off, this configuration may cause the packet processing performance degradation due to the PCI bandwidth limitation.

Tx diagnostics (default not enabled)

Set the devargs parameter mbuf_check to enable Tx diagnostics. For example, -a 81:00.0,mbuf_check= or -a 81:00.0,mbuf_check=[,...]. Thereafter, rte_eth_xstats_get() can be used to get the error counts, which are collected in tx_mbuf_error_packets xstats. In testpmd these can be shown via: testpmd> show port xstats all. Supported values for the case parameter are:

mbuf: Check for corrupted mbuf. size: Check min/max packet length according to HW spec. segment: Check number of mbuf segments does not exceed HW limits. offload: Check for use of an unsupported offload flag.


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3